﻿using LJ.Abstractions.Extensions;
using LJ.IdGenerator.Abstractions;
using LJ.IdGenerator.Abstractions.Pack;
using LJ.IdGenerator.Sequential.Internal;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LJ.IdGenerator.Sequential.Pack;

public abstract class IdGeneratorSequentialPackBase : PackBase, IIdGeneratorPack
{
    public override void Add(IPackContext packContext)
    {       
        packContext.ConfigManager.Add<IdGeneratorConfig>("IdGenerator");

        packContext.DependencyManager.ServiceCollection.AddTransient<IIdGenerator, SequentialIdGenerator>();
    }

    public override void Use(IPackProvider packProvider)
    {
    }
}
